*more off
set more off
*NEED DEMOGRAPHICS, RUN AFTER cons_inequality.do
*Unscale consumption values
forvalues x=1/14 {
gen r_cons`x'_unsc = r_cons`x'*scale 
}
*gen quarterly real income
gen income = fincbtax/4
gen r_income = income*cpi_u_rs_adj
*Create floor for income 
gen r_income_floor = max(1,r_income) 
*Create logged variables
gen ln_r_income_floor = log(r_income_floor)
foreach var of varlist r_cons5_unsc r_cons6_unsc r_cons10_unsc r_cons11_unsc r_cons12_unsc r_cons13_unsc r_cons14_unsc {
gen ln_`var' = 0
replace ln_`var' = log(`var') if (`var'>0)
} 
*Create dummy variables for elasticity regressions
*# of adult dummies 
gen num_adults = fam_size-perslt18
gen adult_dum1 = 0
replace adult_dum1 = 1 if (num_adults==1) 
label var adult_dum1 "One adult"
gen adult_dum2 = 0
replace adult_dum2 = 1 if (num_adults==2)
label var adult_dum2 "Two adults"
gen adult_dum3 = 0
replace adult_dum3 = 1 if (num_adults>=3) 
label var adult_dum3 "Three or more adults"
*Number of kids dummies
gen kids_dum1 = 0 
replace kids_dum1 = 1 if (perslt18==0) 
label var kids_dum1 "No children"
gen kids_dum2 = 0 
replace kids_dum2 = 1 if (perslt18==1) 
label var kids_dum2 "One child"
gen kids_dum3 = 0
replace kids_dum3 =1 if (perslt18==2)
label var kids_dum3 "Two children"
gen kids_dum4 = 0 
replace kids_dum4 = 1  if (perslt18==3 | perslt18==4) 
label var kids_dum4 "Three or four children"
gen kids_dum5 =0
replace kids_dum5 = 1 if (perslt18>=5)
label var kids_dum5 "Five or more children"
*Number of earners dummies
gen earn_dum1 = 0
replace earn_dum1 = 1 if (earncomp==8)
label var earn_dum1 "No earners"
gen earn_dum2 = 0 
replace earn_dum2 = 1 if (earncomp==1 | earncomp==5 | earncomp==7)
label var earn_dum2 "One earner"
gen earn_dum3 = 0
replace earn_dum3 = 1 if (earncomp ==2 | earncomp==3 | earncomp==4 | earncomp==6)
label var earn_dum3 "Two or more earners"
*Occupation dummies 
forvalues x=1/8 {
gen occ_dum`x'=0 
replace occ_dum`x'=1 if (occ_recode==`x') 
}
*Age dummies 
forvalues x=1/4 {
gen age_dum`x' = 0 
replace age_dum`x' = 1 if (age_grp==`x')
}
*Education dummies
forvalues x=1/4 {
gen educ_dum`x' = 0
replace educ_dum`x'=1 if (ed_type==`x') 
}
*Micro-level regressions for elasticity estimates 
label var ln_r_cons6_unsc "Log(Total Consumption)"
label var ln_r_cons5_unsc "Log(Core Consumption)"
label var ln_r_cons10_unsc "Log(Core Consumption less food)"
label var ln_r_cons11_unsc "Log(Core Consumption less Housing"
label var ln_r_cons12_unsc "Log(Core Consumption less food and utilities)"
label var ln_r_cons13_unsc "Log(Core Consumption less gas)"
label var ln_r_cons14_unsc "Log(Core Consumption less vehicle flow)"
label var ln_r_income_floor "Log(Income)"
reg ln_r_cons5_unsc ln_r_cons6_unsc race1 educ_dum2-educ_dum4 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 if (ref_year==1980) , notable
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(OLS: ln_r_cons5_unsc, 80) title(Elasticities of Core Consumption) replace
foreach var of varlist ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
reg `var' ln_r_cons6_unsc race1 educ_dum2-educ_dum4 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 if (ref_year==1980) , notable
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(OLS: `var', 80) append
}  
*Microlevel regressions base 94-96
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
reg `var' ln_r_cons6_unsc race1 educ_dum2-educ_dum4 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 if (ref_year==1988) , notable 
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(OLS: `var', 88) append
}
*Microlevel regressions for base 11-12
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
reg `var' ln_r_cons6_unsc race1 educ_dum2-educ_dum4 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 if (ref_year==2012) , notable 
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(OLS: `var', 12) append 
}
*Create interactions for income regressions
gen gender_race_int1 = 0
replace gender_race_int1 = 1 if (male==1 & race1==1)
gen gender_race_int2 = 0
replace gender_race_int2 = 1 if (male==1 & race1==0)
gen gender_race_int3 = 0
replace gender_race_int3 = 1 if (male==0 & race1==1)
gen gender_race_int4 = 0 
replace gender_race_int4 = 1 if (male==0 & race1==0) 
gen occ_ed_groups = 10*occ_recode+ed_type
egen occ_ed_counter = group(occ_ed_groups) 
forvalues x=1/32 { 
gen occ_ed_int`x' = 0
replace occ_ed_int`x' = 1 if (occ_ed_counter==`x')
}
*IVRegressions for income elasticity estimates, no topcode or percentile restrictions on income 
*Base 80-81 
preserve 
keep if (ref_year==1980 & respstat==1)
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum3 earn_dum2 earn_dum3 (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4)  , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var', 80 no rest) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4 (ln_r_cons6_unsc = ln_r_income_floor)  , first
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 80 no rest) append 
}
restore
*base 88
preserve 
keep if (ref_year==1988 & respstat==1) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum3 earn_dum2 earn_dum3 (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var', 88 no rest) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4 (ln_r_cons6_unsc = ln_r_income_floor)  , first
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 88 no rest) append 
}
restore 
*base 12
preserve 
keep if (ref_year==2012 & respstat==1) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum3 earn_dum2 earn_dum3 (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var', 12 no rest) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4 (ln_r_cons6_unsc = ln_r_income_floor) , first
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 12 no rest) append 
}
restore 
*Repeat IV regressions with topcode restriction 
*base 80
preserve 
keep if (ref_year==1980 & respstat==1 & topcode_inc==0)
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum3 earn_dum2 earn_dum3 (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var', 80 topcode rest) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4 (ln_r_cons6_unsc = ln_r_income_floor) , first
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 80 topcode rest) append 
}
restore
*base 88
preserve 
keep if (ref_year==1988 & respstat==1 & topcode_inc==0) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum3 earn_dum2 earn_dum3 (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var', 88 topcode rest) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4 (ln_r_cons6_unsc = ln_r_income_floor)  , first
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 88 topcode rest) append 
}
restore 
*base 12
preserve 
keep if (ref_year==2012 & respstat==1 & topcode_inc==0) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum3 earn_dum2 earn_dum3 (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var', 12 topcode rest) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4 (ln_r_cons6_unsc = ln_r_income_floor)  , first
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 12 topcode rest) append 
}
restore 
*IV Regressions instrumenting for total consumption 
*base 80
preserve 
keep if (ref_year==1980) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 (ln_r_cons6_unsc= educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first 
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var', 80) append 
}
restore
*base 88
preserve 
keep if (ref_year==1988) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 (ln_r_cons6_unsc = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var', 88) append 
}
restore 
*base 12
preserve
keep if (ref_year==2012)
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 (ln_r_cons6_unsc = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first 
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var', 12) append
}
restore
*IV Regressions for income with percentile restrictions instead of topcode restriction
*create indicators percentile restrictions 
foreach num of numlist 5(5)20 80(5)95 {
egen income_pct_`num'_8081=pctile(r_income) if(ref_year==1980 & respstat==1) , p(`num')
egen income_pct_`num'_9496=pctile(r_income) if(ref_year==1988 & respstat==1) , p(`num')
egen income_pct_`num'_1112=pctile(r_income) if(ref_year==2012 & respstat==1) , p(`num')
}
*5/95 percentile restrictions, base year 80
preserve 
keep if (ref_year==1980 & respstat==1 & r_income>=income_pct_5_8081 & r_income<=income_pct_95_8081) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var' , 80 5/95 pctile restriction) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4 (ln_r_cons6_unsc = ln_r_income_floor) , first 
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 80 5/95 pctile restriction) append
} 
restore
*5/95 percentile restrictions, base year 88
preserve 
keep if (ref_year==1988 & respstat==1 & r_income>=income_pct_5_9496 & r_income<=income_pct_95_9496) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor= educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var', 88 5/95 pctile restriction) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4  (ln_r_cons6_unsc=ln_r_income_floor) , first
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 88 5/95 pctile restriction) append
}
restore 
*5/95 percentile restrictions, base year 12
preserve 
keep if (ref_year==2012 & respstat==1 & r_income>=income_pct_5_1112 & r_income<=income_pct_95_1112) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 (ln_r_income_floor= educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var', 12 5/95 pctile restriction) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4 (ln_r_cons6_unsc=ln_r_income_floor) , first
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 12 5/95 pctile restriction) append
}
restore 
*repeat with 10/90 restriction 
*10/90 percentile restrictions, base year 80
preserve 
keep if (ref_year==1980 & respstat==1 & r_income>=income_pct_10_8081 & r_income<=income_pct_90_8081) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var' , 80 10/90 pctile restriction) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4 (ln_r_cons6_unsc = ln_r_income_floor) , first 
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 80 10/90 pctile restriction) append
} 
restore
*10/90 percentile restrictions, base year 88
preserve 
keep if (ref_year==1988 & respstat==1 & r_income>=income_pct_10_9496 & r_income<=income_pct_90_9496) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 (ln_r_income_floor= educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var', 88 10/90 pctile restriction) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4  (ln_r_cons6_unsc=ln_r_income_floor) , first
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 88 10/90 pctile restriction) append
}
restore 
*10/90 percentile restrictions, base year 12
preserve 
keep if (ref_year==2012 & respstat==1 & r_income>=income_pct_10_1112 & r_income<=income_pct_90_1112) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 (ln_r_income_floor= educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var', 12 10/90 pctile restriction) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4 (ln_r_cons6_unsc=ln_r_income_floor) , first
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 12 10/90 pctile restriction) append
}
restore 
*Repeat with 15/85 restrictions
*15/85 percentile restrictions, base year 80
preserve 
keep if (ref_year==1980 & respstat==1 & r_income>=income_pct_15_8081 & r_income<=income_pct_85_8081) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var' , 80 15/85 pctile restriction) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4  (ln_r_cons6_unsc = ln_r_income_floor) , first 
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 80 15/85 pctile restriction) append
} 
restore
*15/85 percentile restrictions, base year 88
preserve 
keep if (ref_year==1988 & respstat==1 & r_income>=income_pct_15_9496 & r_income<=income_pct_85_9496) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor= educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var', 88 15/85 pctile restriction) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4  (ln_r_cons6_unsc=ln_r_income_floor)  , first
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 88 15/85 pctile restriction) append
}
restore 
*15/85 percentile restrictions, base year 12
preserve 
keep if (ref_year==2012 & respstat==1 & r_income>=income_pct_15_1112 & r_income<=income_pct_85_1112) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 (ln_r_income_floor= educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var', 12 15/85 pctile restriction) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4 (ln_r_cons6_unsc=ln_r_income_floor) , first
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 12 15/85 pctile restriction) append
}
restore 
*repeat with 20/80 restrictions 
*20/80 percentile restrictions, base year 80
preserve 
keep if (ref_year==1980 & respstat==1 & r_income>=income_pct_20_8081 & r_income<=income_pct_80_8081) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var' , 80 20/80 pctile restriction) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4 (ln_r_cons6_unsc = ln_r_income_floor) , first 
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 80 20/80 pctile restriction) append
} 
restore
*20/80 percentile restrictions, base year 88
preserve 
keep if (ref_year==1988 & respstat==1 & r_income>=income_pct_20_9496 & r_income<=income_pct_80_9496) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 (ln_r_income_floor= educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var', 88 20/80 pctile restriction) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4 (ln_r_cons6_unsc=ln_r_income_floor) , first
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 88 20/80 pctile restriction) append
}
restore 
*20/80 percentile restrictions, base year 11-12
preserve 
keep if (ref_year==2012 & respstat==1 & r_income>=income_pct_20_1112 & r_income<=income_pct_80_1112) 
foreach var of varlist ln_r_cons5_unsc ln_r_cons10_unsc ln_r_cons11_unsc ln_r_cons12_unsc ln_r_cons13_unsc ln_r_cons14_unsc {
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 (ln_r_income_floor= educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV: `var', 12 20/80 pctile restriction) append
ivregress 2sls `var' race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 educ_dum2-educ_dum4 (ln_r_cons6_unsc=ln_r_income_floor) , first
outreg2 ln_r_cons6_unsc using elasticity_est , excel label noast nocons nor2 ctitle(IV cons6=income: `var', 12 20/80 pctile restriction) append
}
restore 
*Instrumenting for income with componenets of consumption included in instruments
*The elements of total consumption (cons6) NOT included in the dependent variable are included here as additional instruments 
*Create non-core and non-core+food at home variables
gen r_cons15_unsc=(r_cons6-r_cons5)*scale 
gen r_cons16_unsc=(r_cons6-r_cons10)*scale
gen r_cons17_unsc=(r_cons6-r_cons11)*scale
gen r_cons18_unsc=(r_cons6-r_cons12)*scale
gen r_cons19_unsc=(r_cons6-r_cons13)*scale
gen r_cons20_unsc=(r_cons6-r_cons14)*scale
forvalues x=15/20 {
gen ln_r_cons`x'_unsc=0
replace ln_r_cons`x'_unsc=log(r_cons`x'_unsc) if (r_cons`x'_unsc>0)
}
label var ln_r_cons15_unsc "Log(Non-core cons)"
label var ln_r_cons16_unsc "Log(Non-core cons plus fdhome)"
label var ln_r_cons17_unsc "Log(Non-core cons plus housing)"
label var ln_r_cons18_unsc "Log(Non-core cons plus fdhome plus utilities)"
label var ln_r_cons19_unsc "Log(Non-core cons plus gas)"
label var ln_r_cons20_unsc "Log(Non-core cons plus vehicle flow)"
*neither topcode nor percentile restriction
*80 base, no restriction 
preserve 
keep if (ref_year==1980 & respstat==1)
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 80 no rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3 (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 80 no rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 80 no rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 80 no rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 80 no rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 80 no rest) append 
restore 
*88 base, no restriction 
preserve 
keep if (ref_year==1988 & respstat==1)
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 88 no rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 88 no rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 88 no rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 88 no rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 88 no rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 88 no rest) append 
restore 
*12 base, no restriction 
preserve 
keep if (ref_year==2012 & respstat==1)
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 12 no rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 12 no rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 12 no rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 12 no rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 12 no rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 12 no rest) append 
restore 
*Topcode restriction
*80 base, topcode restriction 
preserve 
keep if (ref_year==1980 & respstat==1 & topcode_inc==0)
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 80 topcode rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 80 topcode rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 80 topcode rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 80 topcode rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 80 topcode rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 80 topcode rest) append 
restore 
*88 base, topcode restriction 
preserve 
keep if (ref_year==1988 & respstat==1 & topcode_inc==0)
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 88 topcode rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 88 topcode rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 88 topcode rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 88 topcode rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 88 topcode rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 88 topcode rest) append 
restore 
*11-12 base, topcode restriction 
preserve 
keep if (ref_year==2012 & respstat==1 & topcode_inc==0)
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 12 topcode rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 12 topcode rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 12 topcode rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 12 topcode rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 12 topcode rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 12 topcode rest) append 
restore 
*Percentile restrictions
*5/95 restriction
*80 base, 5/95 restriction
preserve 
keep if (ref_year==1980 & respstat==1 & r_income>=income_pct_5_8081 & r_income<=income_pct_95_8081) 
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 80 5/95 rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 80 5/95 rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 80 5/95 rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 80 5/95 rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 80 5/95 rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 80 5/95 rest) append 
restore 
*88 base, 5/95 restriction
preserve 
keep if (ref_year==1988 & respstat==1 & r_income>=income_pct_5_9496 & r_income<=income_pct_95_9496) 
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 88 5/95 rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 88 5/95 rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 88 5/95 rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 88 5/95 rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 88 5/95 rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 88 5/95 rest) append 
restore
*12 base, 5/95 restriction
preserve 
keep if (ref_year==2012 & respstat==1 & r_income>=income_pct_5_1112 & r_income<=income_pct_95_1112) 
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 12 5/95 rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 12 5/95 rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 12 5/95 rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 12 5/95 rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 12 5/95 rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 12 5/95 rest) append 
restore
*10/90 restriction
*80 base, 10/90 restriction
preserve 
keep if (ref_year==1980 & respstat==1 & r_income>=income_pct_10_8081 & r_income<=income_pct_90_8081) 
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 80 10/90 rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 80 10/90 rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 80 10/90 rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 80 10/90 rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 80 10/90 rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 80 10/90 rest) append 
restore 
*88 base, 10/90 restriction
preserve 
keep if (ref_year==1988 & respstat==1 & r_income>=income_pct_10_9496 & r_income<=income_pct_90_9496) 
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 88 10/90 rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 88 10/90 rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 88 10/90 rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 88 10/90 rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 88 10/90 rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 88 10/90 rest) append 
restore 
*12 base, 10/90 restriction
preserve 
keep if (ref_year==2012 & respstat==1 & r_income>=income_pct_10_1112 & r_income<=income_pct_90_1112) 
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 12 10/90 rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 12 10/90 rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 12 10/90 rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 12 10/90 rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 12 10/90 rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 12 10/90 rest) append 
restore 
*15/85 restriction
*80-81 base, 15/85 restriction
preserve 
keep if (ref_year==1980 & respstat==1 & r_income>=income_pct_15_8081 & r_income<=income_pct_85_8081) 
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc)  , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 80 15/85 rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 80 15/85 rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 80 15/85 rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 80 15/85 rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 80 15/85 rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 80 15/85 rest) append 
restore 
*88 base, 15/85 restriction
preserve 
keep if (ref_year==1988 & respstat==1 & r_income>=income_pct_15_9496 & r_income<=income_pct_85_9496)
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 88 15/85 rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 88 15/85 rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 88 15/85 rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 88 15/85 rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 88 15/85 rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 88 15/85 rest) append 
restore 
*12 base, 15/85 restriction
preserve 
keep if (ref_year==2012 & respstat==1 & r_income>=income_pct_15_1112 & r_income<=income_pct_85_1112) 
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 12 15/85 rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 12 15/85 rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 12 15/85 rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 12 15/85 rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 12 15/85 rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 12 15/85 rest) append 
restore 
*20/80 restriction
*80 base, 20/80 restriction
preserve 
keep if (ref_year==1980 & respstat==1 & r_income>=income_pct_20_8081 & r_income<=income_pct_80_8081) 
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 80 20/80 rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 80 20/80 rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 80 20/80 rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 80 20/80 rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 80 20/80 rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 80 20/80 rest) append 
restore
*base 88, 20/80 restriction
preserve 
keep if (ref_year==1988 & respstat==1 & r_income>=income_pct_20_9496 & r_income<=income_pct_80_9496) 
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 88 20/80 rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 88 20/80 rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 88 20/80 rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 88 20/80 rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 88 20/80 rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3    (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 88 20/80 rest) append 
restore 
*base 11-12, 20/80 restriction
preserve 
keep if (ref_year==2012 & respstat==1 & r_income>=income_pct_20_1112 & r_income<=income_pct_80_1112) 
ivregress 2sls ln_r_cons5_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons15_unsc) , first 
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons), 12 20/80 rest) append
ivregress 2sls ln_r_cons10_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3  (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons16_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food), 12 20/80 rest) append
ivregress 2sls ln_r_cons11_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons17_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less housing), 12 20/80 rest) append 
ivregress 2sls ln_r_cons12_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons18_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less food and utilities), 12 20/80 rest) append 
ivregress 2sls ln_r_cons13_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons19_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less gas), 12 20/80 rest) append 
ivregress 2sls ln_r_cons14_unsc race1 age_dum2-age_dum4 adult_dum2 adult_dum3 kids_dum2-kids_dum5 earn_dum2 earn_dum3   (ln_r_income_floor = educ_dum2-educ_dum4 occ_dum2-occ_dum8 occ_ed_int1-occ_ed_int32 gender_race_int1-gender_race_int4 ln_r_cons20_unsc) , first
outreg2 ln_r_income_floor using elasticity_est , excel label noast nocons nor2 ctitle(IV+noncorecons: Log(Core Cons less vehic), 12 20/80 rest) append 
restore 
